//package com.infogant.web.resouces;
//
//import com.infogant.dao.core.AbstractPersonDAO;
//import com.infogant.dao.core.PersonDAO;
//import com.infogant.dto.Person;
//
//import javax.ws.rs.PathParam;
//
//import javax.validation.Valid;
//import javax.ws.rs.*;
//import javax.ws.rs.core.MediaType;
//import java.util.List;
//
//@Path("/person")
//@Consumes({MediaType.APPLICATION_JSON})
//@Produces({MediaType.APPLICATION_JSON})
//public class PersonResource {
//
//    AbstractPersonDAO personDAO;
//
//    public PersonResource(AbstractPersonDAO personDAO) {
//        this.personDAO = personDAO;
//    }
//
//    @GET
//    public List<Person> getAll() {
//        return personDAO.getAll();
//    }
//
//    @GET
//    @Path("/{id}")
//    public Person get(@PathParam("id") Integer id) {
//        return personDAO.findById(id);
//    }
//
//    @POST
//    public Person add(@Valid Person person) {
//
//        int newId = personDAO.insert(person);
//
//        return person.setId(newId);
//    }
//
//    @PUT
//    @Path("/{id}")
//    public Person update(@PathParam("id") Integer id, @Valid Person person) {
//        person = person.setId(id);
//        personDAO.update(person);
//
//        return person;
//    }
//
//    @DELETE
//    @Path("/{id}")
//    public void delete(@PathParam("id") Integer id) {
//        personDAO.deleteById(id);
//    }
//}
